﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Leo.Common.RabbitMQ
{
    public abstract class RabbitObjectBase
    {
        public RabbitObjectBase(string name)
        {
            this.Name = name;
        }

        public string Name { get; set; }

        public bool AutoDelete { get; set; }

        public bool Durable { get; set; }
        public bool Exclusive { get; set; }

        public IDictionary<string, object> Properties { get; } = new Dictionary<string, object>();

        internal abstract bool Declare(RabbitConnection connection);

    }
}
